package com.jic.purchase.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ContractCost implements Serializable {
    /**
    * 主键id
    */
    private Long id;

    /**
    * 合同id
    */
    private Long contractId;

    /**
    * 一级费用类型id
    */
    private Long costTypeId;

    /**
    * 一级费用类型编码
    */
    private String costTypeCode;

    /**
    * 计费周期，1、按月，2、按季度，3、按年，4、一次性费用，5、手动创建
    */
    private Byte billingCycle;

    /**
    * 计费方式，1、固定比例，2、固定金额，3、阶梯费用
    */
    private Byte billingMethod;

    /**
    * 计费基准，1、销售额，2、销售成本，3、进退货金额
    */
    private Byte billingBasis;

    /**
    * 生成费用单方式,1、自动生成，2、手动生成
    */
    private Byte generateType;

    /**
    * 审核方式，1、自动审核，2、手动审核
    */
    private Byte auditMethod;

    /**
    * 费用金额
    */
    private BigDecimal costAmount;

    /**
    * 费用比例
    */
    private BigDecimal costProportion;

    /**
    * 是否设置保底金额 0否，1是
    */
    private Integer guaranteedFlag;

    /**
    * 保底金额
    */
    private BigDecimal guaranteedAmount;

    /**
    * 备注
    */
    private String remark;

    /**
    * 所属组织类型
    */
    private Integer deptType;

    /**
    * 所属组织id
    */
    private Long deptId;

    /**
    * 是否删除 0否，1是
    */
    private Integer deleteFlag;

    /**
    * 创建时间
    */
    private Date createTime;

    /**
    * 创建人
    */
    private Long creator;

    /**
    * 创建人姓名
    */
    private String creatorName;

    /**
    * 更新时间
    */
    private Date updateTime;

    /**
    * 更新人
    */
    private Long updater;

    /**
    * 更新人姓名
    */
    private String updaterName;

    private static final long serialVersionUID = 1L;
}